package com.zrar.ak.gkpt.service.record;

import com.zrar.ak.gkpt.model.vo.UserVO;
import com.zrar.ak.gkpt.util.FormDataParameter;
import com.zrar.ak.gkpt.util.JsonPageResult;
import com.zrar.ak.gkpt.util.JsonResult;

public interface IRecordInformationService {

    /**
     * 备案下发(招投标，合同备案，资金备案，验收)
     * @param jsonResult
     * @param formDataParameter
     * @param userVO
     * @return
     */
    JsonResult recordAssign(JsonResult jsonResult, FormDataParameter formDataParameter, UserVO userVO) throws Exception;

    /**
     * 备案流转(招投标，合同备案，资金备案，验收------回复,退回修改，结束)
     * @param jsonResult
     * @param formDataParameter
     * @param userVO
     * @return
     */
    JsonResult recordCirculation(JsonResult jsonResult,  FormDataParameter formDataParameter, UserVO userVO) throws Exception;


    /**
     * 根据建设单位编码获取对应的备案信息
     * @param jsonResult
     * @param buildUnitCode
     * @param userVO
     * @return
     */
    JsonResult recordInfoObtain(JsonResult jsonResult, String buildUnitCode, UserVO userVO);

    /**
     * 获取备案信息列表(根据登录的用户所属的单位编码判断其单位性质，来展现对应的备案列表)
     * @param jsonResult
     * @param currentPage
     * @param pageSize
     * @param buildUnitName
     * @param businessStatus
     * @param businessType
     * @param userVO
     * @return
     */
    JsonPageResult getRecordInformationList(JsonPageResult jsonResult, int currentPage, int pageSize, String buildUnitName, String businessStatus, String businessType, UserVO userVO);








    /**
     * 备案信息-合同备案录入
     * @param jsonResult
     * @param formDataJson
     * @param userVO
     * @return
     */
    JsonResult saveContract(JsonResult jsonResult, String formDataJson, UserVO userVO) throws Exception;

    /**
     * 据建设单位编码获取备案信息-合同备案
     * @param jsonResult
     * @param buildUnitCode
     * @return
     */
    JsonResult getContractListByBuildUnitCode(JsonResult jsonResult, String buildUnitCode);

    /**
     *备案信息-招投标备案录入
     * @param jsonResult
     * @param formDataJson
     * @param userVO
     * @return
     */
    JsonResult saveBid(JsonResult jsonResult, String formDataJson, UserVO userVO);

    /**
     * 根据建设单位编码获取备案信息-招投标备案
     * @param jsonResult
     * @param buildUnitCode
     * @return
     */
    JsonResult getBidListByBuildUnitCode(JsonResult jsonResult, String buildUnitCode);

    /**
     * 备案信息-验收备案录入
     * @param jsonResult
     * @param formDataJson
     * @param userVO
     * @return
     */
    JsonResult saveAccept(JsonResult jsonResult, String formDataJson, UserVO userVO);

    /**
     * 根据建设单位编码获取备案信息-验收备案
     * @param jsonResult
     * @param buildUnitCode
     * @return
     */
    JsonResult getAcceptListByBuildUnitCode(JsonResult jsonResult, String buildUnitCode);

    /**
     * 备案信息-资金使用备案录入
     * @param jsonResult
     * @param formDataJson
     * @param userVO
     * @return
     */
    JsonResult saveFunds(JsonResult jsonResult, String formDataJson, UserVO userVO);

    /**
     * 根据建设单位编码获取备案信息-资金使用备案
     * @param jsonResult
     * @param buildUnitCode
     * @return
     */
    JsonResult getFundsListByBuildUnitCode(JsonResult jsonResult, String buildUnitCode);


}
